package org.csu.mypetstore.api.service;

import org.csu.mypetstore.api.common.CommonResponse;
import org.csu.mypetstore.api.entity.Category;
import org.csu.mypetstore.api.entity.Item;
import org.csu.mypetstore.api.entity.Product;
import org.csu.mypetstore.api.vo.ItemVO;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

public interface CatalogService {

    //***************商品展示模块***************//
    //获取所有categories
    CommonResponse<List<Category>> getCategoryList();

    //由categories的id获取单个categories
    CommonResponse<Category> getCategoryByCategoryId(String categoryId);

    //由categories的id获取其下所有product
    CommonResponse<List<Product>> getProductListByCategoryId(String categoryId);

    //获取所有product
    CommonResponse<List<Product>> getProduct();

    //由product的id获取单个product
    CommonResponse<Product> getProductByProductId(String productId);

    //由product的id获取其下所有item
    CommonResponse<List<ItemVO>> getItemsByProductId(String productId);

    //由item的id获取单个item
    CommonResponse<ItemVO> getItemByItemId(String itemId);

    //获取所有item
    CommonResponse<List<ItemVO>> getItems();


    //***************商品搜索***************//
   CommonResponse<List<Product>> getProductByName(String name);
}
